home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
- MDIFF - MPATCH
- Release 1.45
-
-
-
-
-
-
-
-
-
-
- Un software semplice ma completo per produrre e applicare patch a
- programmi e file di dati per Dos, OS/2, Windows 95 e Windows NT.
-
-
-
-
-
-
-
-
- Manuale in lingua italiana.
-
-
-
-
-
-
-
-
-
-
-
-
- (C) 1995/96 Maurizio Giunti - Tutti i diritti riservati
-
-
-
-
-
-
- 1.SOMMARIO
-
-
- 1.SOMMARIO 2
-
-
- 2.DIRITTI 3
-
-
- 3.GARANZIE 3
-
-
- 4.PERCHE' 3
-
-
- 5.A COSA SERVE 3
-
-
- 6.DOS, OS/2, WINDOWS 95 E WINDOWS NT 4
-
-
- 7.LIMITI 4
-
-
- 8.MDIFF - MDIFF2 - MDIFFW 4
-
-
- 9.MPATCH - MPATCH2 - MPATCHW 5
-
-
- 10.MDF2EXE - MDF2EXE2 - MDF2EXEW 5
-
-
- 11.ALCUNI CONSIGLI 6
-
-
- 12.LIBRERIE PER APPLICARE PATCH 6
-
-
- 13.COME REGISTRARSI 6
-
-
- 14.RINGRAZIAMENTI 7
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
-
- 2.DIRITTI
- Questo software appartiene alla categoria dei programmi Shareware:
- chiunque lo puo' liberamente copiare ed utilizzare per un periodo di
- prova di 15 giorni. Dopo tale periodo, l'utente che desideri
- continuare ad utilizzarlo e' tenuto a registrare la propria copia
- inviando la quota di registrazione all'autore, Maurizio Giunti.
- Gli utenti che pagano la quota di registrazione riceveranno una "chiave
- di registrazione" personale e non cedibile, che rendera' "registrata" la
- propria copia del programma.
- Chiunque puo' ridistribuire questo software a condizione che non richieda
- alcuna somma di denaro in cambio, fatta eccezione per le spese di copia
- e/o di spedizione che, pero', devono essere adeguatamente documentate.
- Altra condizione per la libera distribuzione e' che venga sempre fornito
- per intero il contenuto del pacchetto di distribuzione originale, senza
- alcuna modifica ai programmi e/o alla documentazione.
- Un'unica eccezione: il programma MPATCH puo' essere liberamente
- ridistribuito insieme ad uno o piu' files *.MDF prodotti con una copia
- REGISTRATA di MDIFF.
-
-
-
- GARANZIE
- 3.
- L'unica garanzia fornita con questo software e' che occupa spazio su
- disco. Non posso assolutamente garantire che funzioni perfettamente o
- rappresenti la soluzione di ogni vostro problema. Sono inoltre sicuro che
- non e' un virus e non contiene (a meno che non sia stato infettato o
- modificato dopo la compilazione) Trojan-Horses, Back-Doors o altre
- diavolerie simili. In ogni caso l'autore declina ogni responsabilita'
- diretta o indiretta, per eventuali danni morali o materiali derivanti
- dal suo uso.
-
-
-
- 4.PERCHE'
- Qualche tempo fa dovevo rilasciare una versione aggiornata di un mio
- programma: il pacchetto compresso "pesava" piu' di 200 Kbyte, e sarebbe
- stato sicuramente piu' conveniente per tutti aggiornare il vecchio
- eseguibile tramite una patch. Mi misi in caccia di un software che mi
- permettesse di creare e distribuire patch dei miei programmi per Dos e
- OS/2: per Dos ne ho trovati alcuni (ma non mi hanno soddisfatto per vari
- motivi), per OS/2 neanche uno! Ho quindi deciso di farmene uno
- e....eccolo qui ! 8-)
-
-
-
- A COSA SERVE
- 5.
- MDIFF crea un file binario di differenza tra due file. Con MPATCH e il
- vecchio file si puo' ricreare il nuovo file partendo dal file di
- differenza. Cosa c'e' di buono in tutto cio'? Semplice: supponendo che il
- file di differenza sia piu' breve del nuovo file, e' piu' conveniente
- distribuire solo quello invece di tutto il file, soprattutto se la
- distribuzione avviene via modem.
-
-
- 3
-
-
-
-
-
-
-
- 6.DOS, OS/2, WINDOWS 95 E WINDOWS NT
- MDIFF e MPATCH per Dos, OS/2 e Windows sono ottenuti tramite la
- compilazione dei medesimi sorgenti, quindi non c'e' alcuna differenza
- nella funzione e nell'uso di tali programmi sui vari sistemi operativi.
- Inoltre i files *.MDF prodotti con MDIFF per Dos possono essere
- utilizzati con MPATCH per OS/2 o Windows e viceversa.
-
-
-
- LIMITI
- 7.
- MDIFF non puo' trattare files piu' ampi di 16 Megabyte. Questo e' l'unico
- limite fisico generale di MDIFF.
- Inoltre MDIFF per OS/2, essendo ottenuto tramite una compilazione diretta
- dei sorgenti di MDIFF per Dos, non e' in grado di trattare gli attributi
- estesi, quindi si limitera' ad ignorarli.
-
-
-
- 8.MDIFF - MDIFF2 - MDIFFW
- Il programma MDIFF si occupa di comparare due files e di immagazzinare le
- differenze tra di essi in un terzo file che, generalmente, e' molto piu'
- compatto. Vediamo come si usa:
-
- MDIFF [-C<c>] [-R<r>] [-F<f>] [-S] [-Z] [-P<pwd>] <OldFile> <NewFile>
- [<MDFfile>]
-
- <OldFile> ovviamente e' il nome della versione precedente del file da
- comparare, mentre <NewFile> e' il nome della versione attuale. Se
- necessario si puo' specificare il nome del file di differenza da creare
- <MDFfile>, altrimenti MDIFF crea un file che ha lo stesso nome di
- <NewFile> ma estensione ".MDF". Per cercare le parti simili nei files,
- MDIFF si serve di una stringa base di lunghezza predefinita detta chunk.
- La lunghezza del chunk e' per default di 16 byte ma puo' essere cambiata
- (in un range 4-256) con lo switch -C seguito dalla lunghezza voluta.
- Quando MDIFF perde il sincronismo tra i due files che sta confrontando,
- cerca di ritrovarlo scandendo il vecchio file alla ricerca del chunk che
- sta elaborando. Tale ricerca viene effettuata, in un intorno dell'ultimo
- chunk trovato, nel range definito dallo switch -R. Per default tale range
- e' di 8 blocchi di 512 byte, ma puo' variare tra 1 e 16. Se tale ricerca
- fallisce MDIFF cerca di forzare il sincronismo cercando in un raggio piu'
- ampio di quello definito solitamente ampio 1/16 della lunghezza del file.
- Questa seconda ricerca puo' essere disabilitata o il suo range puo'
- essere cambiato tramite lo switch -F. Specificando lo switch -S, alla
- fine dell'operazione, MDIFF fornira' alcuni dati sulla composizione del
- file di differenza.
- E' inoltre possibile, tramite lo switch -Z, inserire nel file di
- differenza un breve commento (al massimo 2 Kbyte), che sara' visualizzato
- durante l'applicazione della patch da parte di MPATCH. Il commento viene
- prelevato direttamente dallo standard input e quindi puo' essere o
- digitato o prelevato da un file tramite l'apposito comando di redirezione
- "<".
- Tramite lo switch -P si puo' proteggere la patch con una password
- (<pwd>): chi non conosce tale password non potra' applicare la patch.
- 4
-
-
-
-
-
-
-
-
- 9.MPATCH - MPATCH2 - MPATCHW
- MDIFF sarebbe un programma inutile se non esistesse MPATCH. Infatti
- MPATCH si occupa, dati <OldFile> e <MDFfile>, di ricreare <NewFile>.
- Vediamo come si usa:
-
- MPATCH [-P<pwd>] <MDFfile> [<OldFile> [<NewFile>]]
-
- L'unico parametro necessario e' il nome del file di differenza <MDFfile>
- perche' esso contiene i nomi degli altri due file, ma e' possibile
- modificare tale impostazione semplicemente specificando i nomi voluti
- nell'esatto ordine. MPATCH ha il solo switch -P che permette di
- specificare una eventuale password necessaria per applicare la patch.
- In caso di errore MPATCH ritorna un errorlevel che deve essere
- interpretato secondo la seguente tabella:
- Codice Descrizione
- "OK!"
- 0
- "Out of memory !"
- 1
- "Can't open MDF file !"
- 2
- "Invalid MDF file !"
- 3
- "MDF file version mismatch !"
- 4
- "UNREGISTERED !"
- 5
- "Bad or incorrect OLD file !"
- 6
- 7 "Can't open OLD file !"
- "Can't create NEW file !"
- 8
- "General failure: NEW file corrupted !"
- 9
- "OLD and NEW can't be the same file !"
- 10
- "NEW file was already patched ! "
- 11
- "Bad password !"
- 12
-
-
-
- MDF2EXE - MDF2EXE2 - MDF2EXEW
- 10.
- MDF2EXE si occupa di trasformare un file di patch *.MDF creato con MDIFF
- in un file ESEGUIBILE autoinstallante per Dos (MDF2EXE), OS/2 (MDF2EXE2)
- o Windows 95/Windows NT (MDF2EXEW).
- Il file cosi' creato conterra' al suo interno il programma di
- installazione e un certo numero di file di patch (al massimo 127).
- La sintassi per creare una patch autoinstallante e':
-
- MDF2EXE <mdf_file 1> [<mdf_file 2>....<mdf_file n>] <exe_file>
-
- I vari <mdf_file x> possono contenere anche wildcard, in questo caso
- MDF2EXE crchera' automaticamente i files da inserire.
- Il file eseguibile creato (che DEVE avere estensione .EXE) potra' essere
- avviato senza alcun parametro sulla linea di comando e cerchera'
- automaticamente i file da aggiornare. Opzionalmente puo' essere
- utilizzato lo switch -P per specificare una password oppure gli switch -V
- o -L per visualizzare la lista delle patch contenute nel file.
- Un'unica nota: non comprimete le patch autoinstallanti con pklite, lzexe
- o altri software simili, altrimenti esse cesseranno di funzionare.
-
-
- 5
-
-
-
-
-
- 11.ALCUNI CONSIGLI
- Il metodo ottimale per costruire un file di differenza sarebbe quello di
- ricercare per tutto il vecchio file i chunks che compongono il nuovo
- file; ovviamente tale metodo sarebbe di una lentezza esasperante.
- L'algoritmo su cui e' basato MDIFF rappresenta un compromesso tra
- risultato e velocita' di esecuzione, per questo e' talvolta opportuno
- regolare i parametri di funzionamento di MDIFF tramite gli appositi
- switch. Vediamo come comportarsi in alcune situazioni tipiche:
- File con pochissime modifiche: e' opportuno utilizzare un chunk molto
- 1.
- ampio (32, 64 o piu') in modo da ridurre il piu' possibile le
- dimensioni del file di differenza, soprattutto se si sta' lavorando con
- files di testo o con archivi.
- 2.
- File di testo: di solito un chunk di dimensione 32 e' il piu' indicato,
- e' opportuno provare a diminuire o togliere il sincronismo forzato
- tramite lo switch -F.
- File eseguibili molto ampi: spesso si ottengono risultati migliori
- 3.
- allargando il range di ricerca del sincronismo tramite lo switch -R.
- Un ultimo consiglio: non attendetevi miracoli da MDIFF. Se i due file
- confrontati sono molto dissimili il file di patch risultera' molto ampio.
- In questi casi c'e' ben poco da fare, bisogna rassegnarsi a distribuire
- il nuovo file interamente. MDIFF e' realmente utile solo se il numero
- delle modifiche apportate ai file non e' troppo grande.
-
-
-
- LIBRERIE PER APPLICARE PATCH
- 12.
- Fino alla release 1.40 nel pacchetto di distribuzione di MDIFF erano
- contenute anche alcune librerie per Dos, Windows e OS/2, utili per
- realizzare propri programmi per applicare patch.
- A causa dello scarso feedback dell'utenza e della diminuzione del mio
- tempo libero ho deciso di non continuare a distribuire tali librerie.
- In ogni caso cerchero' di portarne avanti lo sviluppo trascurandone
- invece i manuali, per cui se qualcuno fosse DAVVERO interessato ad esse
- non esiti a contattarmi.
-
-
-
- 13.COME REGISTRARSI
- Il costo della chiave di registrazione individuale, valida sia per la
- versione Dos che per quelle OS/2 e Windows, per tutte le release fino
- alla 1.99 compresa, e' di 25.000 lire italiane (circa 16 U.S.$) spese di
- spedizione comprese. Il codice di registrazione sara' spedito tramite
- normale lettera, oppure, a richiesta, via E-mail.
- La registrazione puo' essere effettuata in qualsiasi modo, ma e'
- consigliabile l'utilizzo di vaglia postale in Italia o International
- Postal Check in Lire Italiane dall'estero, pagabile all'ufficio postale
- di "FIRENZE" ed intestato al seguente nominativo:
-
- Maurizio Giunti
- Via G.B. Foggini, 24
- 50142 Firenze (FI)
- ITALY
-
- Per i residenti in Europa puo' essere piu' conveniente l'invio di un
- Eurocheque in Lire Italiane.
- 6
-
-
-
-
-
- In ogni caso ricordate di indicare il nome del programma da registrare,
- il vostro nome, cognome, indirizzo e indirizzo e-mail (se necessario). Se
- siete utenti Fidonet o Internet e necessitate di delucidazioni non
- esitate a spedirmi un e-mail ai seguenti indirizzi:
-
- Fidonet: 2:332/102.3
-
- Internet: giunti@abeline.it
-
-
-
- 14.RINGRAZIAMENTI
- Vorrei brevemente ringraziare gli amici che mi hanno aiutato nello
- sviluppo di questo software e della documentazione allegata, o che si
- sono coraggiosamente offerti come beta-testers. In ordine alfabetico:
-
-
- Andrea Baitelli
-
- Silvia Borri
-
- Filippo Dini
-
- Fabrizio Fioravanti
-
- Cristiano Guidoccio
-
- Giovanni Lopes Pegna
-
- Marco Maccaferri
-
- Marco Menichelli
-
- Giuseppe Scarpi
-
- Toni Tatafiore
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7
-
-